<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
</head>

<body>
    <div id="root">
        <!-- 3.组件的使用 -->
        <App />
    </div>
    <script>
        Vue.config.productionTip = false;	 // 阻止 Vue在启动时生成生产提示
        //2.注册组件(注册完成以后,就能在当前的实例的模板中使用这个组件了)
        const App = Vue.extend({
        /* 
          组件的配置都是独立的,和vm的配置类似(没有el,因为所有组件最后是App的后代组件,App最终会放在vm实例上被渲染在vm的模板中,el的模板最后会在el容器中渲染)
        */
        template:`
         <div>
            <h2>
               App组件     
            </h2>   
            <button @click="changeCount">累加</button>
            <p>内容：{{count}}</p>
         </div>
        `,
        data(){
            return {
                count:0
            }
        },
        methods: {
            changeCount(){
                this.count++
            }
        },
        })

        const vm = new Vue({
            el: "#root", // 挂载的容器
            data() { // 数据
                return {
                    
                }
            },
            //2.注册组件(注册完成以后,就能在当前的实例的模板中使用这个组件了)
            components:{
                App,
            }
        })
</script>
</body>

</html>